// 解析URL参数
function parseParam(url) {
  // 将?后面的字符串取出来
  const paramStr = /.+\?(.+)$/.exec(url)[1]
  // 将字符串以&分割后存到数组中
  const paramsArr = paramStr.split('&')
  let paramsObj = {}
  // 将params存到对象里面
  paramsArr.forEach(param => {
    if (/=/.test(param)) { // 处理有value的参数
      let [key, val] = param.split('=')
      val = decodeURIComponent(val) // url解码
      val = /^\d+$/.test(val) ? parseFloat(val) : val // 判断是否为数字
      if (paramsObj.hasOwnProperty(key)) {
        // 如果有一个重复的Key值，那么把他添加成一个数组
        paramsObj[key] = [].concat(paramsObj[key], val)
      } else {
        paramsObj[key] = val
      }
    }
  })
  return paramsObj
}
console.log(parseParam('https://www.baidu.com/index#?a=1&b=2&c=3&a=5&a=6'))